package br.unidocs.web.bean;

import java.util.List;

import javax.ejb.EJB;
import javax.faces.component.html.HtmlDataTable;

import br.unidocs.modelo.entidade.Mensagem;
import br.unidocs.servico.MensagemEJB;

public class GerenciaMensagemBackingBean {
	private List<Mensagem> mensagens = null;

	@EJB
	// falamos para o servidor, crie e insira aqui, para nao criar na mao;
	private MensagemEJB mensagemEjb;

	private HtmlDataTable tabelaMensagens;

	// Variaveis para exclusao de mensagem
	private Mensagem mensagemSelecionada;

	// private Mensagem mensagemParaDetalhamento;

	public List<Mensagem> getMensagens() {
		if (mensagens == null) {
			mensagens = mensagemEjb.listaMensagens();
		}
		return mensagens;
	}

	public String selecionaMensagemParaAlteracao() {
		mensagemSelecionada = (Mensagem) tabelaMensagens.getRowData();
		return "alterarMensagem";
	}

	public String alteraMensagem() {
		mensagemEjb.atualizaMensagem(mensagemSelecionada);
		mensagens = null;
		return "voltar";
	}

	public String confirmaExclusao() {
		mensagemSelecionada = (Mensagem) tabelaMensagens.getRowData();
		return "confirmaExclusaoMensagem";
	}

	public String excluiMensagemSelecionada() {
		// Chama o servico de exclusao
		mensagemEjb.excluiMensagem(mensagemSelecionada);
		return "voltar";
	}

	public String selecionaMensagemParaDetalhamento() {
		mensagemSelecionada = (Mensagem) tabelaMensagens.getRowData();
		return "detalheMensagem";
	}

	public HtmlDataTable getTabelaMensagens() {
		return tabelaMensagens;
	}

	public void setTabelaMensagens(HtmlDataTable tabelaMensagens) {
		this.tabelaMensagens = tabelaMensagens;
	}

	public void setMensagens(List<Mensagem> mensagens) {
		this.mensagens = mensagens;
	}

	// public Mensagem getMensagemParaExclusao() {
	// return mensagemSelecionada;
	// }
	//
	// public void setMensagemParaExclusao(Mensagem mensagemParaExclusao) {
	// this.mensagemSelecionada = mensagemParaExclusao;
	// }

	public Mensagem getMensagemSelecionada() {
		return mensagemSelecionada;
	}

	public void setMensagemSelecionada(Mensagem mensagemSelecionada) {
		this.mensagemSelecionada = mensagemSelecionada;
	}

	// public Mensagem getMensagemParaDetalhamento() {
	// return mensagemParaDetalhamento;
	// }
	//
	// public void setMensagemParaDetalhamento(Mensagem
	// mensagemParaDetalhamento) {
	// this.mensagemParaDetalhamento = mensagemParaDetalhamento;
	// }

}
